Task Control Block
   HOME

TheInfoList



OR:

The Task Control Block (TCB) contains the state of a task in, e.g.,
OS/360 and successors OS/360, officially known as IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was influenced by the earlier IBSYS/IBJOB ...
on
IBM System/360 architecture The IBM System/360 architecture is the model independent architecture for the entire S/360 line of mainframe computers, including but not limited to the instruction set architecture. The elements of the architecture are documented in the '' ...
and successors.


The TCB in OS/360 and successors

In
OS/360 OS/360, officially known as IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was influenced by the earlier IBSYS/IBJOB ...
,
OS/VS1 Operating System/Virtual Storage 1, or OS/VS1, is a discontinued IBM mainframe computer operating system designed to be run on IBM System/370 hardware. It was the successor to the Multiprogramming with a Fixed number of Tasks (MFT) option of Sys ...
, SVS, MVS/370, MVS/XA,
MVS/ESA Multiple Virtual Storage, more commonly called MVS, was the most commonly used operating system on the System/370 and System/390 IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unrelated ...
,
OS/390 OS/390 is an IBM operating system for the System/390 IBM mainframe computers. Overview OS/390 was introduced in late 1995 in an effort to simplify the packaging and ordering for the key, entitled elements needed to complete a fully functional ...
and
z/OS z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest: * ...
, the TCB contains, among other data, non-dispatchability flags and the general and floating point registers for a task that is not currently assigned to a CPU. A TCB provides an anchor for a linked list of other, related request blocks (RBs); the top-linked RB for a TCB contains the
Program status word The program status word (PSW) is a register that performs the function of a status register and program counter, and sometimes more. The term is also applied to a copy of the PSW in storage. This article only discusses the PSW in the IBM System/3 ...
(PSW) when the task is not assigned to a CPU. When the control program's dispatcher selects a TCB to be dispatched, the dispatcher loads registers from the TCB and loads the PSW from the top RB of the TCB, thereby dispatching the unit of work.


Request Blocks

OS/360 has the following types of request blockss ; Interruption Request Block : An IRB is used to handle an asynchronous exit. ; Program Request Block : A PRB represents a module invoked with an ATTACH macro, a LINK macro or a synchronous exit. ; System Interruption Request Block : An SIRB is used to run I/O error recovery code. ; Supervisor Request Blocks : An SVRB represents the execution of a Type 2, Type 3 or Type 4 SVC routine An RB contains several fields, among the na old PSW, old general registers, a PSW and a wait count.


Dispatching

The ''Dispatcher'' is a routine in the nucleus that selects the work to be dispatched. It selects the highest priority task that: #Is not running on another CPU #Does not have any non-dispatchability flags set #Has a top RB with a zero wait count. The system maintains a pair of TCB pointers known as TCB old and TCB new. A TCB new pointer of zero causes the dispatcher to search for an eligible task. When the dispatcher finds an eligible task, it sets the old and new TCB pointers. loads the registers from the TCB and loads the PSW from the top RB. If the dispatcher fails to find eligible work, it enters an enabled wait.


History

With the introduction of MVS/370 and successor systems, a whole new environment was introduced: the Service Request Block (SRB), which generally has a higher priority than any Task Control Block, and, indeed, which itself has two distinct priorities: a Global SRB (priority over all local address space SRBs and TCBs) and a Local SRB (priority over only the local address space TCBs); and MVS's dispatcher must manage all of these with absolute consistency across as many as two processors (MVS/370) and as many as sixteen processors (successor systems).


See also

*
Process control block A process control block (PCB) is a data structure used by computer operating systems to store all the information about a process. It is also known as a process descriptor. When a process is created (initialized or installed), the operating system c ...


Notes


References

{{reflist, refs= {{cite manual , title = IBM System/360 Operating System - Fixed-Task Supervisor - Program Number 360S-CI-505 , id = Y28-6612-2 , date = February 1967 , edition = Third , url = http://www.bitsavers.org/pdf/ibm/360/os/plm_1966-67/Y28-6612-2_Fixed-Task_Supervisor_PLM_Sep67.pdf , work = Program Logic , access-date = {{cite manual , title = IBM System/360 Operating System - MVT Supervisor , id = GY28-6659-7 , date = May 1973 , edition = Eighth , url = http://bitsavers.org/pdf/ibm/360/os/R21.7_Apr73/plm/GY28-6659-7_MVT_Supervisor_PLM_Rel_21.7_May73.pdf , work = Program Logic , access-date = March 14, 2022 {{cite manual , publisher = IBM , title = IBM System/360 Operating System: System Control Blocks - OS Release 21.7 , id = GC28-6628-9 , edition = Tenth , date = April 1973 , url = http://bitsavers.org/pdf/ibm/360/os/R21.7_Apr73/GC28-6628-9_OS_System_Ctl_Blks_R21.7_Apr73.pdf , work = Systems Reference Library , access-date = June 12, 2022 Process (computing)